package com.xinruke.hostels.reservation.interfaces.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author GuoZheng
 * @ClassName RoomReservationInfoDto
 * @date：2019/6/13
 * @version: V1.0.0
 * @description：
 */
@ApiModel("预订房间信息请求DTO")
@Data
public class RoomOrderInfoQueryDto {


    /**
     * 房型id
     */
    @ApiModelProperty(value = "房型id", required = true)
    @NotNull(message = "房型id不能为空")
    private Integer fangxingId;
    /**
     * 房型名称
     */
    @ApiModelProperty(value = "房型名称", required = true)
    @NotBlank(message = "房型名称不能为空")
    private String fangxingmingcheng;

    /**
     * 酒店id
     */
    @ApiModelProperty(value = "酒店id", required = true)
    @NotNull(message = "酒店id不能为空")
    private Integer jiudianId;

    @ApiModelProperty(value = "与预订人的关系,检验是否有优惠")
    @JsonIgnore
    private Byte guanxi;
    /**
     * 房型标准价
     */
    @ApiModelProperty(value = "房间总价")
    private BigDecimal mendianjia;

    /**
     * 优惠价
     */
    @ApiModelProperty(value = "房间优惠金额，默认传0（不是优惠价！优惠价格=mendianjia-youhuijia）")
    private BigDecimal youhuijia;

    /**
     * 房间缩略图
     */
    @ApiModelProperty(value = "房间缩略图",required = true)
    @NotBlank(message = "房间缩略图不能为空")
    private String suoluetu;
    /**
     * 数量
     */
    @ApiModelProperty(value = "数量，默认为1")
    private Integer shuliang = 1;

    /**
     * 预订姓名
     */
    @ApiModelProperty(value = "预订姓名")
    @JsonIgnore
    private String yudingxingming;

    /**
     * 预订姓名
     */
    @ApiModelProperty(value = "预订联系人的id", required = true)
    @NotNull(message = "预订联系人的id")
    private Integer yudingrenId;

    /**
     * 预订人证件号
     */
    @ApiModelProperty(value = "预订人证件类型")
    @JsonIgnore
    private Byte yudingrenzhengjianleixing;

    /**
     * 预订人证件号
     */
    @ApiModelProperty(value = "预订人证件号")
    @JsonIgnore
    private String yudingrenzhengjianhao;

    /**
     * 入住性质:1因公；2因私
     */
    @ApiModelProperty(value = "入住性质:1因公；2因私", required = true)
    @NotNull(message = "入住性质不能为空")
    private Byte ruzhuxingzhi;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", required = true)
    @NotBlank(message = "联系电话不能为空")
    private String lianxidianhua;
    /**
     * 入住时间
     */
    @ApiModelProperty(value = "入住时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "入住时间不能为空")
    private Date ruzhushijian;

    /**
     * 离开时间
     */
    @ApiModelProperty(value = "离开时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "离开时间不能为空")
    private Date likaishijian;


}
